package com.nd.android.u.filestoragesystem.externalInterface;

import org.json.JSONObject;

/**
 * 文件夹属性
 * 
 * <br>Created 2014-6-18 下午8:17:01
 * @version  
 * @author   huangszh		
 *
 * @see
 */
public interface IFolder {

    /**
     * 设置文件夹id
     * 
     * <br>Created 2014-6-18 下午7:43:42
     * @param folerId   文件夹id
     * @author        :  huangszh
     */
    void setFolderId(long folerId);
    
    /**
     * 获取文件夹id
     * 
     * <br>Created 2014-6-18 下午7:43:49
     * @return  long
     * @author        :  huangszh
     */
    long getFolderId();
    
    /**
     * 设置上级文件夹id
     * 
     * <br>Created 2014-6-18 下午7:43:51
     * @param up_id 上级文件夹id
     * @author        :  huangszh
     */
    void setUpFolderId(long up_id);
    
    /**
     * 获取上级文件夹id
     * 
     * <br>Created 2014-6-18 下午7:43:54
     * @return  long
     * @author        :  huangszh
     */
    long getUpFolderId();
    
    /**
     * 设置文件夹路径
     * 
     * <br>Created 2014-6-18 下午7:43:57
     * @param path  文件夹路径
     * @author        :  huangszh
     */
    void setPath(String path);
    
    /**
     * 获取文件夹路径
     * 
     * <br>Created 2014-6-18 下午7:44:00
     * @return  String
     * @author        :  huangszh
     */
    String getPath();
    
    /**
     * 设置文件夹名称
     * 
     * <br>Created 2014-6-18 下午7:44:03
     * @param foldername    文件夹名称
     * @author        :  huangszh
     */
    void setFolderName(String foldername);
    
    /**
     * 获取文件夹名称
     * 
     * <br>Created 2014-6-18 下午7:44:05
     * @return  String
     * @author        :  huangszh
     */
    String getFolderName();
    
    /**
     * 设置文件夹介绍
     * 
     * <br>Created 2014-6-18 下午7:44:08
     * @param info  文件夹介绍
     * @author        :  huangszh
     */
    void setFolderInfo(JSONObject info);
    
    /**
     * 获取文件夹介绍{
                        "intro":"文件夹描述",
                        "bg_id":"背景图片id",
                        "show_id":"默认4张图拼成的展示图id"
                     }
     * 
     * <br>Created 2014-6-18 下午7:44:11
     * @return  String
     * @author        :  huangszh
     */
    JSONObject getFolderInfo();
    
    /**
     * 设置子文件夹数量
     * 
     * <br>Created 2014-6-18 下午7:44:14
     * @param folders   子文件夹数量
     * @author        :  huangszh
     */
    void setFolders(int folders);
    
    /**
     * 获取子文件夹数量
     * 
     * <br>Created 2014-6-18 下午7:44:17
     * @return  int
     * @author        :  huangszh
     */
    int getFolders();
    
    /**
     * 设置当前文件夹存储的文件数量（不包括子目录）
     * 
     * <br>Created 2014-6-18 下午7:44:20
     * @param files 当前文件夹存储的文件数量（不包括子目录）
     * @author        :  huangszh
     */
    void setFiles(int files);
    
    /**
     * 获取当前文件夹存储的文件数量（不包括子目录）
     * 
     * <br>Created 2014-6-18 下午7:44:25
     * @return  int
     * @author        :  huangszh
     */
    int getFiles();
    
    /**
     * 设置最新的fid（用于增量更新）
     * 
     * <br>Created 2014-6-18 下午7:44:28
     * @param fid   最新的fid（用于增量更新）
     * @author        :  huangszh
     */
    void setLastFid(long fid);
    
    /**
     * 获取最新的fid（用于增量更新）
     * 
     * <br>Created 2014-6-18 下午7:44:32
     * @return  long
     * @author        :  huangszh
     */
    long getLastFid();
    
    /**
     * 设置默认的fid（通过文件夹形式访问时）
     * 
     * <br>Created 2014-6-18 下午7:44:35
     * @param defaultId 默认的fid（通过文件夹形式访问时）
     * @author        :  huangszh
     */
    void setDefaultId(long defaultId);
    
    /**
     * 获取默认的fid（通过文件夹形式访问时）
     * 
     * <br>Created 2014-6-18 下午7:44:38
     * @return  long
     * @author        :  huangszh
     */
    long getDefaultId();
    
    /**
     * 设置创建时间
     * 
     * <br>Created 2014-6-18 下午7:44:41
     * @param time  创建时间
     * @author        :  huangszh
     */
    void setCreateTime(long time);
    
    /**
     * 获取创建时间
     * 
     * <br>Created 2014-6-18 下午7:44:44
     * @return  long
     * @author        :  huangszh
     */
    long getCreateTime();
    
    /**
     * 设置文件上传的地理位置
     * 
     * <br>Created 2014-6-18 下午7:44:47
     * @param location  文件上传的地理位置
     * @author        :  huangszh
     */
    void setLocation(String location);
    
    /**
     * 获取文件上传的地理位置
     * 
     * <br>Created 2014-6-18 下午7:44:50
     * @return  String
     * @author        :  huangszh
     */
    String getLocation();
}
